[INFO] fetching crate hicollections 0.1.0...
[INFO] checking hicollections-0.1.0 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate hicollections 0.1.0 into /workspace/builds/worker-0-tc1/source
[INFO] validating manifest of crates.io crate hicollections 0.1.0 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate hicollections 0.1.0
[INFO] finished tweaking crates.io crate hicollections 0.1.0
[INFO] tweaked toml for crates.io crate hicollections 0.1.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded hierr v0.1.1
[INFO] [stderr]   Downloaded iai v0.1.1
[INFO] [stderr]   Downloaded hipool v0.1.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 12f20a3fc0b00b9171a20b50649eec2295a10fb0b803ca22108a5c2dc38f4d7b
[INFO] running `Command { std: "docker" "start" "-a" "12f20a3fc0b00b9171a20b50649eec2295a10fb0b803ca22108a5c2dc38f4d7b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "12f20a3fc0b00b9171a20b50649eec2295a10fb0b803ca22108a5c2dc38f4d7b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "12f20a3fc0b00b9171a20b50649eec2295a10fb0b803ca22108a5c2dc38f4d7b", kill_on_drop: false }`
[INFO] [stdout] 12f20a3fc0b00b9171a20b50649eec2295a10fb0b803ca22108a5c2dc38f4d7b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3d7702d46fb15224d3a32a73a54f159887e9641a06183d7ebcf8ffd254bded52
[INFO] running `Command { std: "docker" "start" "-a" "3d7702d46fb15224d3a32a73a54f159887e9641a06183d7ebcf8ffd254bded52", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]     Checking plotters-backend v0.3.5
[INFO] [stderr]     Checking regex-syntax v0.8.2
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]     Checking serde_json v1.0.114
[INFO] [stderr]     Checking hierr v0.1.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.17
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking plotters-svg v0.3.5
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking half v1.8.3
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking criterion-plot v0.4.5
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]     Checking csv-core v0.1.11
[INFO] [stderr]     Checking serde_cbor v0.11.2
[INFO] [stderr]     Checking csv v1.3.0
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking hipool v0.1.1
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking rayon v1.9.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking oorandom v11.1.3
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking iai v0.1.1
[INFO] [stderr]     Checking regex-automata v0.4.5
[INFO] [stderr]     Checking hicollections v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking plotters v0.3.5
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]     Checking regex v1.10.3
[INFO] [stderr]     Checking criterion v0.3.6
[INFO] [stdout] warning: unused import: `black_box`
[INFO] [stdout]  --> benches/search.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use criterion::{black_box, criterion_group, criterion_main, BatchSize, BenchmarkId, Criterion};
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ptr`
[INFO] [stdout]  --> benches/search.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use core::ptr;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `black_box`
[INFO] [stdout]  --> benches/tree_benchmark.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use criterion::{black_box, criterion_group, criterion_main, BatchSize, BenchmarkId, Criterion};
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `size_of`
[INFO] [stdout]  --> benches/tree_benchmark.rs:9:29
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::mem::{MaybeUninit, size_of};
[INFO] [stdout]   |                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NonNull`
[INFO] [stdout]   --> benches/tree_benchmark.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::ptr::{self, NonNull};
[INFO] [stdout]    |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice`
[INFO] [stdout]   --> benches/tree_benchmark.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::slice;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]   --> benches/tree_benchmark.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::time::Instant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> benches/search.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn std_binary<K>(mut pkey: *const K, len: usize, key: &K) -> Result<usize, usize>
[INFO] [stdout]    |                  ----^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> benches/search.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn slice_linear<K, Q>(mut pkey: *const K, len: usize, key: &Q) -> Result<usize, usize>
[INFO] [stdout]    |                       ----^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> benches/search.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn idx_linear<K, Q>(mut pkey: *const K, len: usize, key: &Q) -> Result<usize, usize>
[INFO] [stdout]    |                     ----^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: mutable reference of mutable static is discouraged
[INFO] [stdout]    --> benches/tree_benchmark.rs:151:25
[INFO] [stdout]     |
[INFO] [stdout] 151 |     let data = unsafe { &mut DATA };
[INFO] [stdout]     |                         ^^^^^^^^^ mutable reference of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
[INFO] [stdout]     = note: reference of mutable static is a hard error from 2024 edition
[INFO] [stdout]     = note: mutable statics can be written to by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: `#[warn(static_mut_ref)]` on by default
[INFO] [stdout] help: mutable references are dangerous since if there's any other pointer or reference used for that static while the reference lives, that's UB; use `addr_of_mut!` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 151 |     let data = unsafe { addr_of_mut!(DATA) };
[INFO] [stdout]     |                         ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> benches/search.rs:57:23
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn slice_binary<K, Q>(mut pkey: *const K, mut len: usize, key: &Q) -> Result<usize, usize>
[INFO] [stdout]    |                       ----^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> benches/search.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn idx_binary<K, Q>(mut pkey: *const K, mut len: usize, key: &Q) -> Result<usize, usize>
[INFO] [stdout]    |                     ----^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/search.rs:124:21
[INFO] [stdout]     |
[INFO] [stdout] 124 | fn ptr_binary<K, Q>(mut pkey: *const K, mut len: usize, key: &Q) -> Result<usize, usize>
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> benches/search.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 |             f(self.data.as_ptr(), self.data.len(), &key);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 191 |             let _ = f(self.data.as_ptr(), self.data.len(), &key);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `AvlTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:311:25
[INFO] [stdout]     |
[INFO] [stdout] 311 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `RbTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:325:25
[INFO] [stdout]     |
[INFO] [stdout] 325 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:306:25
[INFO] [stdout]     |
[INFO] [stdout] 306 |                     let mut ctx = AvlCtx::new(cnts[i], |foo| unsafe { ptr::addr_of!((*foo).node) });
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:320:25
[INFO] [stdout]     |
[INFO] [stdout] 320 |                     let mut ctx = RbCtx::new(cnts[i], |foo| unsafe { ptr::addr_of!((*foo).node) });
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:334:25
[INFO] [stdout]     |
[INFO] [stdout] 334 |                     let mut ctx = BTreeCtx::new(cnts[i]);
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:349:25
[INFO] [stdout]     |
[INFO] [stdout] 349 |                     let mut ctx = SetCtx::new(cnts[i]);
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `AvlTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:373:25
[INFO] [stdout]     |
[INFO] [stdout] 373 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `RbTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:390:25
[INFO] [stdout]     |
[INFO] [stdout] 390 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `AvlTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:450:25
[INFO] [stdout]     |
[INFO] [stdout] 450 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `RbTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:467:25
[INFO] [stdout]     |
[INFO] [stdout] 467 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `AvlTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:530:25
[INFO] [stdout]     |
[INFO] [stdout] 530 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `RbTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:545:25
[INFO] [stdout]     |
[INFO] [stdout] 545 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:524:25
[INFO] [stdout]     |
[INFO] [stdout] 524 |                     let mut ctx =
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:539:25
[INFO] [stdout]     |
[INFO] [stdout] 539 |                     let mut ctx =
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:554:25
[INFO] [stdout]     |
[INFO] [stdout] 554 |                     let mut ctx = BTreeCtx::new_ord(cnts[i]);
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:568:25
[INFO] [stdout]     |
[INFO] [stdout] 568 |                     let mut ctx = SetCtx::new_ord(cnts[i]);
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `AvlTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:593:25
[INFO] [stdout]     |
[INFO] [stdout] 593 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `RbTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:611:25
[INFO] [stdout]     |
[INFO] [stdout] 611 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `AvlTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:671:25
[INFO] [stdout]     |
[INFO] [stdout] 671 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `RbTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:689:25
[INFO] [stdout]     |
[INFO] [stdout] 689 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 12 previous errors; 14 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hicollections` (bench "tree_benchmark") due to 13 previous errors; 14 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "3d7702d46fb15224d3a32a73a54f159887e9641a06183d7ebcf8ffd254bded52", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3d7702d46fb15224d3a32a73a54f159887e9641a06183d7ebcf8ffd254bded52", kill_on_drop: false }`
[INFO] [stdout] 3d7702d46fb15224d3a32a73a54f159887e9641a06183d7ebcf8ffd254bded52
[INFO] checking hicollections-0.1.0 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate hicollections 0.1.0 into /workspace/builds/worker-0-tc2/source
[INFO] validating manifest of crates.io crate hicollections 0.1.0 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate hicollections 0.1.0
[INFO] finished tweaking crates.io crate hicollections 0.1.0
[INFO] tweaked toml for crates.io crate hicollections 0.1.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e9339fd0bda1d3a1cd92625c82631c53c73783bc76ab79e43fbe8207981dc74e
[INFO] running `Command { std: "docker" "start" "-a" "e9339fd0bda1d3a1cd92625c82631c53c73783bc76ab79e43fbe8207981dc74e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e9339fd0bda1d3a1cd92625c82631c53c73783bc76ab79e43fbe8207981dc74e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e9339fd0bda1d3a1cd92625c82631c53c73783bc76ab79e43fbe8207981dc74e", kill_on_drop: false }`
[INFO] [stdout] e9339fd0bda1d3a1cd92625c82631c53c73783bc76ab79e43fbe8207981dc74e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] aa8de8289b859d61fdd72789762ae6b6530c058b7dbe21ac504bf211bc4629c6
[INFO] running `Command { std: "docker" "start" "-a" "aa8de8289b859d61fdd72789762ae6b6530c058b7dbe21ac504bf211bc4629c6", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]     Checking regex-syntax v0.8.2
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]     Checking plotters-backend v0.3.5
[INFO] [stderr]     Checking serde_json v1.0.114
[INFO] [stderr]     Checking hierr v0.1.1
[INFO] [stderr]     Checking half v1.8.3
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking plotters-svg v0.3.5
[INFO] [stderr]     Checking ppv-lite86 v0.2.17
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]     Checking csv-core v0.1.11
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]     Checking csv v1.3.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking criterion-plot v0.4.5
[INFO] [stderr]     Checking serde_cbor v0.11.2
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking hipool v0.1.1
[INFO] [stderr]     Checking rayon v1.9.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking oorandom v11.1.3
[INFO] [stderr]     Checking regex-automata v0.4.5
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking iai v0.1.1
[INFO] [stderr]     Checking hicollections v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/btree/node.rs:342:19
[INFO] [stdout]     |
[INFO] [stdout] 342 |         for i in (idx..len).rev() {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/btree/node.rs:375:18
[INFO] [stdout]     |
[INFO] [stdout] 375 |         for i in idx..len {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/btree/map.rs:71:26
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 for i in 0..=node.data.len() {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking plotters v0.3.5
[INFO] [stdout] warning: usage of `RangeBounds` trait bound in public function
[INFO] [stdout]    --> src/rbtree.rs:320:12
[INFO] [stdout]     |
[INFO] [stdout] 320 |         R: RangeBounds<Q>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-bounds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeBounds` trait bound in public function
[INFO] [stdout]    --> src/rbtree.rs:333:12
[INFO] [stdout]     |
[INFO] [stdout] 333 |         R: RangeBounds<Q>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeBounds` trait bound in public function
[INFO] [stdout]    --> src/avltree.rs:324:12
[INFO] [stdout]     |
[INFO] [stdout] 324 |         R: RangeBounds<Q>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeBounds` trait bound in public function
[INFO] [stdout]    --> src/avltree.rs:337:12
[INFO] [stdout]     |
[INFO] [stdout] 337 |         R: RangeBounds<Q>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeBounds` trait bound in public function
[INFO] [stdout]    --> src/btree/map.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 110 |         R: RangeBounds<Q>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeBounds` trait bound in public function
[INFO] [stdout]    --> src/btree/map.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 |         R: RangeBounds<Q>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeBounds` trait bound in public function
[INFO] [stdout]   --> src/btree/set.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 |         R: RangeBounds<Q>,
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking regex v1.10.3
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]     Checking criterion v0.3.6
[INFO] [stdout] warning: unused import: `black_box`
[INFO] [stdout]  --> benches/search.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use criterion::{black_box, criterion_group, criterion_main, BatchSize, BenchmarkId, Criterion};
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ptr`
[INFO] [stdout]  --> benches/search.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use core::ptr;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> benches/search.rs:43:16
[INFO] [stdout]    |
[INFO] [stdout] 43 |     for idx in 0..len {
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> benches/search.rs:109:16
[INFO] [stdout]     |
[INFO] [stdout] 109 |     for idx in 0..len {
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> benches/search.rs:199:14
[INFO] [stdout]     |
[INFO] [stdout] 199 |     for i in 0..cnts.len() {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> benches/search.rs:235:14
[INFO] [stdout]     |
[INFO] [stdout] 235 |     for i in 0..cnts.len() {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `black_box`
[INFO] [stdout]  --> benches/tree_benchmark.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use criterion::{black_box, criterion_group, criterion_main, BatchSize, BenchmarkId, Criterion};
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `size_of`
[INFO] [stdout]  --> benches/tree_benchmark.rs:9:29
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::mem::{MaybeUninit, size_of};
[INFO] [stdout]   |                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NonNull`
[INFO] [stdout]   --> benches/tree_benchmark.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::ptr::{self, NonNull};
[INFO] [stdout]    |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice`
[INFO] [stdout]   --> benches/tree_benchmark.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::slice;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]   --> benches/tree_benchmark.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::time::Instant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> benches/tree_benchmark.rs:302:14
[INFO] [stdout]     |
[INFO] [stdout] 302 |     for i in 0..cnts.len() {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> benches/tree_benchmark.rs:367:14
[INFO] [stdout]     |
[INFO] [stdout] 367 |     for i in 0..cnts.len() {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> benches/tree_benchmark.rs:444:14
[INFO] [stdout]     |
[INFO] [stdout] 444 |     for i in 0..cnts.len() {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> benches/tree_benchmark.rs:520:14
[INFO] [stdout]     |
[INFO] [stdout] 520 |     for i in 0..cnts.len() {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> benches/tree_benchmark.rs:586:14
[INFO] [stdout]     |
[INFO] [stdout] 586 |     for i in 0..cnts.len() {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> benches/tree_benchmark.rs:664:14
[INFO] [stdout]     |
[INFO] [stdout] 664 |     for i in 0..cnts.len() {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> benches/search.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn std_binary<K>(mut pkey: *const K, len: usize, key: &K) -> Result<usize, usize>
[INFO] [stdout]    |                  ----^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> benches/search.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn slice_linear<K, Q>(mut pkey: *const K, len: usize, key: &Q) -> Result<usize, usize>
[INFO] [stdout]    |                       ----^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> benches/search.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn idx_linear<K, Q>(mut pkey: *const K, len: usize, key: &Q) -> Result<usize, usize>
[INFO] [stdout]    |                     ----^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> benches/search.rs:57:23
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn slice_binary<K, Q>(mut pkey: *const K, mut len: usize, key: &Q) -> Result<usize, usize>
[INFO] [stdout]    |                       ----^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> benches/search.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn idx_binary<K, Q>(mut pkey: *const K, mut len: usize, key: &Q) -> Result<usize, usize>
[INFO] [stdout]    |                     ----^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/search.rs:124:21
[INFO] [stdout]     |
[INFO] [stdout] 124 | fn ptr_binary<K, Q>(mut pkey: *const K, mut len: usize, key: &Q) -> Result<usize, usize>
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: mutable reference of mutable static is discouraged
[INFO] [stdout]    --> benches/tree_benchmark.rs:151:25
[INFO] [stdout]     |
[INFO] [stdout] 151 |     let data = unsafe { &mut DATA };
[INFO] [stdout]     |                         ^^^^^^^^^ mutable reference of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
[INFO] [stdout]     = note: reference of mutable static is a hard error from 2024 edition
[INFO] [stdout]     = note: mutable statics can be written to by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: `#[warn(static_mut_ref)]` on by default
[INFO] [stdout] help: mutable references are dangerous since if there's any other pointer or reference used for that static while the reference lives, that's UB; use `addr_of_mut!` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 151 |     let data = unsafe { addr_of_mut!(DATA) };
[INFO] [stdout]     |                         ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> benches/search.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 |             f(self.data.as_ptr(), self.data.len(), &key);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 191 |             let _ = f(self.data.as_ptr(), self.data.len(), &key);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 13 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/rbtree.rs:1214:31
[INFO] [stdout]      |
[INFO] [stdout] 1214 |         assert_eq!(tree.range(0..).count(), 100);
[INFO] [stdout]      |                               ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/rbtree.rs:1215:31
[INFO] [stdout]      |
[INFO] [stdout] 1215 |         assert_eq!(tree.range(-1..).rev().count(), 100);
[INFO] [stdout]      |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/rbtree.rs:1216:31
[INFO] [stdout]      |
[INFO] [stdout] 1216 |         assert_eq!(tree.range(100..201).count(), 0);
[INFO] [stdout]      |                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/rbtree.rs:1217:31
[INFO] [stdout]      |
[INFO] [stdout] 1217 |         assert_eq!(tree.range(99..100).count(), 1);
[INFO] [stdout]      |                               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/rbtree.rs:1218:31
[INFO] [stdout]      |
[INFO] [stdout] 1218 |         assert_eq!(tree.range(0..0).count(), 0);
[INFO] [stdout]      |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]     --> src/rbtree.rs:1219:31
[INFO] [stdout]      |
[INFO] [stdout] 1219 |         assert_eq!(tree.range(0..=0).count(), 1);
[INFO] [stdout]      |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/rbtree.rs:1220:31
[INFO] [stdout]      |
[INFO] [stdout] 1220 |         assert_eq!(tree.range(0..1).count(), 1);
[INFO] [stdout]      |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/rbtree.rs:1222:34
[INFO] [stdout]      |
[INFO] [stdout] 1222 |         assert_eq!(0, tree.range(100..101).count());
[INFO] [stdout]      |                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/rbtree.rs:1223:34
[INFO] [stdout]      |
[INFO] [stdout] 1223 |         assert_eq!(1, tree.range(99..101).count());
[INFO] [stdout]      |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/rbtree.rs:1224:36
[INFO] [stdout]      |
[INFO] [stdout] 1224 |         assert_eq!(100, tree.range(0..101).count());
[INFO] [stdout]      |                                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/rbtree.rs:1225:35
[INFO] [stdout]      |
[INFO] [stdout] 1225 |         assert_eq!(50, tree.range(1..51).count());
[INFO] [stdout]      |                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]     --> src/rbtree.rs:1227:35
[INFO] [stdout]      |
[INFO] [stdout] 1227 |         let mut iter = tree.range(50..=50);
[INFO] [stdout]      |                                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/avltree.rs:1275:31
[INFO] [stdout]      |
[INFO] [stdout] 1275 |         assert_eq!(tree.range(0..).count(), 100);
[INFO] [stdout]      |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/avltree.rs:1276:31
[INFO] [stdout]      |
[INFO] [stdout] 1276 |         assert_eq!(tree.range(-1..).rev().count(), 100);
[INFO] [stdout]      |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/avltree.rs:1277:31
[INFO] [stdout]      |
[INFO] [stdout] 1277 |         assert_eq!(tree.range(100..201).count(), 0);
[INFO] [stdout]      |                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/avltree.rs:1278:31
[INFO] [stdout]      |
[INFO] [stdout] 1278 |         assert_eq!(tree.range(99..100).count(), 1);
[INFO] [stdout]      |                               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/avltree.rs:1279:31
[INFO] [stdout]      |
[INFO] [stdout] 1279 |         assert_eq!(tree.range(0..0).count(), 0);
[INFO] [stdout]      |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]     --> src/avltree.rs:1280:31
[INFO] [stdout]      |
[INFO] [stdout] 1280 |         assert_eq!(tree.range(0..=0).count(), 1);
[INFO] [stdout]      |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/avltree.rs:1281:31
[INFO] [stdout]      |
[INFO] [stdout] 1281 |         assert_eq!(tree.range(0..1).count(), 1);
[INFO] [stdout]      |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/avltree.rs:1283:34
[INFO] [stdout]      |
[INFO] [stdout] 1283 |         assert_eq!(0, tree.range(100..101).count());
[INFO] [stdout]      |                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/avltree.rs:1284:34
[INFO] [stdout]      |
[INFO] [stdout] 1284 |         assert_eq!(1, tree.range(99..101).count());
[INFO] [stdout]      |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/avltree.rs:1285:36
[INFO] [stdout]      |
[INFO] [stdout] 1285 |         assert_eq!(100, tree.range(0..101).count());
[INFO] [stdout]      |                                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/avltree.rs:1286:35
[INFO] [stdout]      |
[INFO] [stdout] 1286 |         assert_eq!(50, tree.range(1..51).count());
[INFO] [stdout]      |                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]     --> src/avltree.rs:1288:35
[INFO] [stdout]      |
[INFO] [stdout] 1288 |         let mut iter = tree.range(50..=50);
[INFO] [stdout]      |                                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/btree/stack.rs:151:24
[INFO] [stdout]     |
[INFO] [stdout] 151 |             for val in 0..len {
[INFO] [stdout]     |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/btree/stack.rs:163:18
[INFO] [stdout]     |
[INFO] [stdout] 163 |         for i in 0..stack.capacity() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/btree/stack.rs:168:19
[INFO] [stdout]     |
[INFO] [stdout] 168 |         for i in (0..stack.capacity()).rev() {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/btree/node.rs:342:19
[INFO] [stdout]     |
[INFO] [stdout] 342 |         for i in (idx..len).rev() {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/btree/node.rs:375:18
[INFO] [stdout]     |
[INFO] [stdout] 375 |         for i in idx..len {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/btree/map.rs:71:26
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 for i in 0..=node.data.len() {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/btree/map.rs:916:18
[INFO] [stdout]     |
[INFO] [stdout] 916 |         for i in 0..103 {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/btree/map.rs:921:18
[INFO] [stdout]     |
[INFO] [stdout] 921 |         for i in 0..103 {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/btree/map.rs:926:19
[INFO] [stdout]     |
[INFO] [stdout] 926 |         for i in (300..400).rev() {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/btree/map.rs:930:19
[INFO] [stdout]     |
[INFO] [stdout] 930 |         for i in (300..400).rev() {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/btree/map.rs:935:19
[INFO] [stdout]     |
[INFO] [stdout] 935 |         for i in (200..300).rev() {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/btree/map.rs:939:19
[INFO] [stdout]     |
[INFO] [stdout] 939 |         for i in (200..300).rev() {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/btree/map.rs:948:18
[INFO] [stdout]     |
[INFO] [stdout] 948 |         for i in 0..1 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/btree/map.rs:952:18
[INFO] [stdout]     |
[INFO] [stdout] 952 |         for i in 0..1 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/btree/map.rs:959:18
[INFO] [stdout]     |
[INFO] [stdout] 959 |         for i in 0..1030 {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/btree/map.rs:963:19
[INFO] [stdout]     |
[INFO] [stdout] 963 |         for i in (0..1030).rev() {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/btree/map.rs:970:18
[INFO] [stdout]     |
[INFO] [stdout] 970 |         for i in 0..1030 {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/btree/map.rs:974:19
[INFO] [stdout]     |
[INFO] [stdout] 974 |         for i in (100..900).rev() {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/btree/map.rs:980:19
[INFO] [stdout]     |
[INFO] [stdout] 980 |         for i in (0..100).rev() {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/btree/map.rs:986:19
[INFO] [stdout]     |
[INFO] [stdout] 986 |         for i in (900..1030).rev() {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/btree/map.rs:1008:19
[INFO] [stdout]      |
[INFO] [stdout] 1008 |         for _i in 0..4 {
[INFO] [stdout]      |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/btree/map.rs:1046:24
[INFO] [stdout]      |
[INFO] [stdout] 1046 |             for val in 0..10 {
[INFO] [stdout]      |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/btree/map.rs:1057:24
[INFO] [stdout]      |
[INFO] [stdout] 1057 |             for val in 0..20 {
[INFO] [stdout]      |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/btree/map.rs:1068:24
[INFO] [stdout]      |
[INFO] [stdout] 1068 |             for val in 0..2000 {
[INFO] [stdout]      |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/btree/map.rs:1081:19
[INFO] [stdout]      |
[INFO] [stdout] 1081 |         for n in (0..cnt).rev() {
[INFO] [stdout]      |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/btree/map.rs:1085:29
[INFO] [stdout]      |
[INFO] [stdout] 1085 |         for (n, (k, v)) in (0..100).zip(tree.iter()) {
[INFO] [stdout]      |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/btree/map.rs:1091:51
[INFO] [stdout]      |
[INFO] [stdout] 1091 |         for ((k, v), n) in tree.iter().rev().zip((0..cnt).rev()) {
[INFO] [stdout]      |                                                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/btree/map.rs:1099:18
[INFO] [stdout]      |
[INFO] [stdout] 1099 |         for n in 0..100 {
[INFO] [stdout]      |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/btree/map.rs:1112:18
[INFO] [stdout]      |
[INFO] [stdout] 1112 |         for n in 0..20 {
[INFO] [stdout]      |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/btree/map.rs:1129:18
[INFO] [stdout]      |
[INFO] [stdout] 1129 |         for n in 10..100 {
[INFO] [stdout]      |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/btree/map.rs:1133:18
[INFO] [stdout]      |
[INFO] [stdout] 1133 |         for n in 10..100 {
[INFO] [stdout]      |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]     --> src/btree/map.rs:1134:39
[INFO] [stdout]      |
[INFO] [stdout] 1134 |             let mut iter = tree.range(n..=n);
[INFO] [stdout]      |                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/btree/map.rs:1139:35
[INFO] [stdout]      |
[INFO] [stdout] 1139 |         let mut iter = tree.range(15..20);
[INFO] [stdout]      |                                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/btree/map.rs:1148:35
[INFO] [stdout]      |
[INFO] [stdout] 1148 |         let mut iter = tree.range(5..5);
[INFO] [stdout]      |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/btree/map.rs:1152:35
[INFO] [stdout]      |
[INFO] [stdout] 1152 |         let mut iter = tree.range(6..5);
[INFO] [stdout]      |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/btree/map.rs:1156:35
[INFO] [stdout]      |
[INFO] [stdout] 1156 |         let mut iter = tree.range(0..8);
[INFO] [stdout]      |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/btree/map.rs:1160:35
[INFO] [stdout]      |
[INFO] [stdout] 1160 |         let mut iter = tree.range(100..300);
[INFO] [stdout]      |                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/btree/map.rs:1164:35
[INFO] [stdout]      |
[INFO] [stdout] 1164 |         let mut iter = tree.range(99..200);
[INFO] [stdout]      |                                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/btree/set.rs:81:18
[INFO] [stdout]    |
[INFO] [stdout] 81 |         for i in 0..100 {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/btree/set.rs:86:18
[INFO] [stdout]    |
[INFO] [stdout] 86 |         for i in 0..100 {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/btree/set.rs:91:18
[INFO] [stdout]    |
[INFO] [stdout] 91 |         for i in 0..100 {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/btree/set.rs:103:19
[INFO] [stdout]     |
[INFO] [stdout] 103 |         for _i in 0..4 {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/btree/set.rs:126:20
[INFO] [stdout]     |
[INFO] [stdout] 126 |         for val in 0..100 {
[INFO] [stdout]     |                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/btree/set.rs:129:26
[INFO] [stdout]     |
[INFO] [stdout] 129 |         for (n, val) in (0..100).zip(set.iter()) {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/btree/set.rs:132:26
[INFO] [stdout]     |
[INFO] [stdout] 132 |         for (n, val) in (0..100).rev().zip(set.iter().rev()) {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/btree/set.rs:145:18
[INFO] [stdout]     |
[INFO] [stdout] 145 |         for n in 0..100 {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/btree/set.rs:149:18
[INFO] [stdout]     |
[INFO] [stdout] 149 |         for n in 0..100 {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/btree/set.rs:150:38
[INFO] [stdout]     |
[INFO] [stdout] 150 |             let mut iter = set.range(n..=n);
[INFO] [stdout]     |                                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/btree/set.rs:155:34
[INFO] [stdout]     |
[INFO] [stdout] 155 |         let mut iter = set.range(100..200);
[INFO] [stdout]     |                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `AvlTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:311:25
[INFO] [stdout]     |
[INFO] [stdout] 311 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `RbTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:325:25
[INFO] [stdout]     |
[INFO] [stdout] 325 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:306:25
[INFO] [stdout]     |
[INFO] [stdout] 306 |                     let mut ctx = AvlCtx::new(cnts[i], |foo| unsafe { ptr::addr_of!((*foo).node) });
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:320:25
[INFO] [stdout]     |
[INFO] [stdout] 320 |                     let mut ctx = RbCtx::new(cnts[i], |foo| unsafe { ptr::addr_of!((*foo).node) });
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:334:25
[INFO] [stdout]     |
[INFO] [stdout] 334 |                     let mut ctx = BTreeCtx::new(cnts[i]);
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:349:25
[INFO] [stdout]     |
[INFO] [stdout] 349 |                     let mut ctx = SetCtx::new(cnts[i]);
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `AvlTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:373:25
[INFO] [stdout]     |
[INFO] [stdout] 373 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `RbTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:390:25
[INFO] [stdout]     |
[INFO] [stdout] 390 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `AvlTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:450:25
[INFO] [stdout]     |
[INFO] [stdout] 450 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `RbTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:467:25
[INFO] [stdout]     |
[INFO] [stdout] 467 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `AvlTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:530:25
[INFO] [stdout]     |
[INFO] [stdout] 530 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `RbTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:545:25
[INFO] [stdout]     |
[INFO] [stdout] 545 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:524:25
[INFO] [stdout]     |
[INFO] [stdout] 524 |                     let mut ctx =
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:539:25
[INFO] [stdout]     |
[INFO] [stdout] 539 |                     let mut ctx =
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:554:25
[INFO] [stdout]     |
[INFO] [stdout] 554 |                     let mut ctx = BTreeCtx::new_ord(cnts[i]);
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:568:25
[INFO] [stdout]     |
[INFO] [stdout] 568 |                     let mut ctx = SetCtx::new_ord(cnts[i]);
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `AvlTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:593:25
[INFO] [stdout]     |
[INFO] [stdout] 593 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `RbTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:611:25
[INFO] [stdout]     |
[INFO] [stdout] 611 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `AvlTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:671:25
[INFO] [stdout]     |
[INFO] [stdout] 671 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `RbTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:689:25
[INFO] [stdout]     |
[INFO] [stdout] 689 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 12 previous errors; 20 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hicollections` (bench "tree_benchmark") due to 13 previous errors; 20 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: 73 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "aa8de8289b859d61fdd72789762ae6b6530c058b7dbe21ac504bf211bc4629c6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aa8de8289b859d61fdd72789762ae6b6530c058b7dbe21ac504bf211bc4629c6", kill_on_drop: false }`
[INFO] [stdout] aa8de8289b859d61fdd72789762ae6b6530c058b7dbe21ac504bf211bc4629c6
